package com.funo.main.dao;

import java.util.List;

import com.funo.common.pojo.QueryCondition;
import com.funo.main.entities.Role;

/**
 * 角色模块接口类
 * 
 * @author zhengjs
 *
 */
public interface RoleDao {
	
	/**
	 * 保存角色信息
	 * 
	 * @param role 角色表
	 */
	void save(Role role);

	/**
	 * 删除角色信息
	 * 
	 * @param id 主键ID
	 */
	void delete(String id);

	/**
	 * 修改角色信息
	 * 
	 * @param role 角色表
	 */
	void update(Role role);

	/**
	 * 获取角色信息
	 * 
	 * @param id 主键ID
	 * @return 角色信息
	 */
	Role get(String id);
	
	/**
	 * 查询角色信息
	 * 
	 * @param name 名称
	 * @return 角色信息
	 */
	Role getRole(String name);

	/**
	 * 带分页显示所有角色信息
	 * 
	 * @param condition 查询条件集合
	 * @return 所有角色信息
	 */
	List<Role> pageList(QueryCondition condition);

	/**
	 * 角色信息记录数
	 * 
	 * @param condition 查询条件集合
	 * @return 记录数
	 */
	Integer count(QueryCondition condition);
	
	/**
	 * 根据角色名和主键id，查询角色对象，用作修改查找重名。
	 * 
	 * @param name
	 * 		     角色名
	 * @param id 
	 * 		 主键id
	 * @return 角色对象
	 */
	public Role findRoleByName(String name,String id);
	
	/**
	 * 获取所有角色信息
	 * 
	 * @return 所有角色信息
	 */
	List<Role> getRole();
}
